<?php
/*
 leetcode 389题找不同
给定两个字符串 s 和 t，它们只包含小写字母。
字符串 t 由字符串 s 随机重排，然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
示例 1：

输入：s = "abcd", t = "abcde"
输出："e"
解释：'e' 是那个被添加的字母。
// 创建一个数组，用于统计字母出现的次数: key->字母,value->次数
        // 循环字符串s加次数
        // 循环字符串t减次数
        // 最后看统计次数是否小于0
 */
function findTheDifference(string $s, string $t)
{
    // 创建一个数组，用于统计字母出现的次数
    $arr = [];
    for ($i = 0; $i < strlen($s); $i++) {
        $key = ord($s[$i]) - 97;
        $arr[$key] = isset($arr[$key]) ? $arr[$key] + 1 : 1; // 统计次数
    }
    for ($i = 0; $i < strlen($t); $i++) {
        $key = ord($t[$i]) - 97;
        if (!isset($arr[$key])) {
            return $t[$i];
        } else {
            if (--$arr[$key] < 0) {
                return $t[$i];
            }
        }
    }
    return 0;
}

$s = "abcd";
$t = "abcde";
echo findTheDifference($s, $t);